home *** CD-ROM | disk | FTP | other *** search
- // examp303.cpp - link with binder.obj
-
- #define fsbfile "examp303.txt"
-
- #include <iostream.h>
- #include <iomanip.h>
-
- struct FS {
- float f;
- FS(float f = 0.0) { this->f = f; }
- FS(FS& fs) { f = fs.f; }
- FS& operator=(FS& fs) { f = fs.f; return fs; }
- ~FS() {}
- };
-
- inline ostream& operator<<(ostream& os, FS& fs)
- { return os << fs.f; }
- inline istream& operator>>(istream& is, FS& fs)
- { return is >> fs.f; }
-
- #include "tbinder.hpp"
- TBINDER(FS,FSbdr,FSbdR);
-
- int fcmp(const FS *F1, const FS * F2)
- { return (F2->f - F1->f); }
-
- main() // count to five
- {
- FSbdR FSB = new FSbdr (BDR_DNEW | BDR_DDELETE
- | BDR_DSTORE,5);
-
- if (!FSB) return 1;
-
- FS fs = 1.0;
-
- while (FSB->insNew(&fs)) fs.f++;
-
- FSB->setComP ((BDRcomP) fcmp);
- Binder::RegisterComP ((BDRcomP) fcmp);
-
- FSB->save(fsbfile);
-
- delete FSB;
-
- FSbdr fsb(fsbfile);
-
- fsb.sort();
-
- fsb.setFlags(BDR_DASSIGN);
-
- while (fsb.prevAsg(&fs))
- cout << fs.f << endl;
-
- return 0;
- }
-